package com.backend.modules.system.service;

import com.backend.modules.system.dto.LoginDTO;
import com.backend.modules.system.dto.RegisterDTO;
import com.backend.modules.system.dto.UpdatePasswordDto;
import com.backend.modules.system.dto.UserQueryDTO;
import com.backend.modules.system.dto.UserUpdateDTO;
import com.backend.modules.system.entity.SysUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface SysUserService {
    
    String login(LoginDTO loginDTO);
    
    void register(RegisterDTO registerDTO);
    
    SysUser getCurrentUser();
    
    SysUser getById(Long id);
    
    Page<SysUser> page(UserQueryDTO query, Pageable pageable);
    
    void updateStatus(Long id, Boolean status);
    
    void resetPassword(Long id);
    
    void update(Long id, UserUpdateDTO dto);
    
    void updateCurrentUser(UserUpdateDTO dto);

    void updatePassword( UpdatePasswordDto dto);
}